package com.hua.api.modules.express.service;

import com.alibaba.fastjson.JSONObject;
import com.hua.api.modules.express.domain.ExpressOrder;
import com.hua.api.modules.express.domain.ShopInfoExpress;
import com.hua.api.modules.express.service.dto.ExpressInfoCriteria;
import com.hua.api.modules.express.service.dto.ExpressOrderDto;
import com.hua.api.modules.finance.domain.UserAccount;
import com.hua.api.modules.order.domain.OrderInfo;

public interface ExpressInfoService {

    /**
     * 查询开通城市
     * */
    JSONObject openCitiesLists();
    /**
     * 分页查询商户店铺
     * */
    JSONObject queryAllStores(ExpressInfoCriteria criteria);
    /**
     * 订单费用计算
     * */
    ExpressOrder orderCalculate(ShopInfoExpress express, OrderInfo order, UserAccount account,Integer isSaleAfter);
    /**
     *  提交订单
     * */
    ExpressOrder orderPlace(ExpressOrder eorder);
    /**
     * 订单加价 fenAmount (分)
     * */
    JSONObject addition(ExpressOrder eorder,Integer fenAmount);
    /**
     *  查询闪送员位置信息
     * */
    JSONObject courierInfo(ExpressInfoCriteria criteria);
    /**
     * 获取账户余额
     * */
    JSONObject getUserAccount();
    /**
     * 订单取消
     * */
    JSONObject  abortOrder(ExpressInfoCriteria criteria);
    /**
     * 店铺信息同步到本地
     * */
    JSONObject storeOpertionSync(String storeId,String expressCode,Integer shopId);
    /**
     * 新增店铺
     * */
    JSONObject storeOperationAdd(Integer shopId,String expressCode);
    /**
     * 修改店铺
     * */
    JSONObject storeOperationModify(Integer shopId,String expressCode,String storeId);
    /**
     * 状态变更回调
     * */
    void onOrderStatusChange(JSONObject data);

}
